/*******************************************************************************
*
*   Copyright ©2009 Alexandru Marin
*
*   This file is part of nwave/pMRI C library.
*
*   This project started as an MSc degree project during a
*   stage at the Paris-Est university, under joint supervision of prof.
*   Bogdan Ionescu (Image Analysis and Processing Laboratory, "Politehica"
*   University of Bucharest), Caroline Chaux and Jean-Christophe Pesquet
*   (Laboratoire d'Informatique, Université Paris-Est, Institut Gaspard Monge).
*
*   nwave/pMRI C libray is free software: you can redistribute it and/or modify
*   it under the terms of the GNU General Public License as published by
*   the Free Software Foundation, either version 2 of the License, or
*   (at your option) any later version.
*
*   nwave/pMRI C libray is distributed in the hope that it will be useful,
*   but WITHOUT ANY WARRANTY; without even the implied warranty of
*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*   GNU General Public License for more details.
*
*   You should have received a copy of the GNU General Public License
*   along with nwave/pMRI C library.  If not, see <http://www.gnu.org/licenses/>.
*
******************************************************************************/

/*
 * Some functions which enforce compatibility with gsl
 */

#include <gsl/gsl_types.h>
#include <complex.h>
#include <gsl/gsl_complex.h>

inline gsl_complex mri_complex_to_gsl(complex float z) {
	gsl_complex result;
	GSL_REAL(result) = crealf(z);
	GSL_IMAG(result) = cimagf(z);
	return result;
}

inline complex float mri_complex_from_gsl(gsl_complex z) {
	return GSL_REAL(z) + I*GSL_IMAG(z);
}

